/**
 *
 * © Bahadir Zeren 2011
 * bzeren@gmail.com
 * No warranties, express or implied, are made for this program.
 *
 */
package org.baatar.remoting.service;

import org.apache.log4j.Logger;

/**
 * Abstract class for all classes which will implement remoting business logic
 * in a blocking manner.
 * 
 * These classes implements business logic functions. These functions are called
 * by ImplementorTCPBridge upon incoming remote requests coming from TCP service.
 * After end of function run the return value of the remote function is passed 
 * to ImplementorTCPBridge and it sends the final response to the TCP service 
 * and so to the client.
 * 
 * @see ImplementorTCPBridge
 * 
 * @author B_ZEREN
 */
public abstract class AImplementor implements IImplementor {

    protected RemotingService remotingService = null;
    protected Logger logger = null;

    /*
     * {@inheritDoc}
     */
    @Override
    public boolean initialize() throws Exception {
        return true;
    }

    /*
     * {@inheritDoc}
     */
    @Override
    public void uninitialize() throws Exception {
    }

    /*
     * {@inheritDoc}
     */
    @Override
    public boolean start() {
        return true;
    }

    /*
     * {@inheritDoc}
     */
    @Override
    public boolean stop() {
        return true;
    }

    /*
     * {@inheritDoc}
     */
    @Override
    public void setRemotingService(RemotingService remotingService) {
        this.remotingService = remotingService;
    }

    /*
     * {@inheritDoc}
     */
    @Override
    public void setLogger(Logger logger) {
        this.logger = logger;
    }
}
